using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;



namespace exercise_4
{

    class Program
    {


        static void Main(string[] args)
        {
            Car BMW = new Car("Series1", "TYW346", "BMW", "140HP" , "Petrol" , 5, 260, 2400, false );
            BMW.Forward(BMW.name);
            BMW.Backward(BMW.name);
            BMW.SetSpeed(180);
            BMW.Fourbyfour(BMW.fourbyfour);

            Car Mercedes = new Car("S63", "TYW347", "Mercedes", "600HP", "Petrol", 5, 320, 6300, true);
            Mercedes.Forward(Mercedes.name);
            Mercedes.Backward(Mercedes.name);
            Mercedes.SetSpeed(200);
            Mercedes.Fourbyfour(Mercedes.fourbyfour);

            Car Ford = new Car("ST2", "TYW348", "Ford", "300HP", "Petrol", 5, 280, 2800, false);
            Ford.Forward(Ford.name);
            Ford.Backward(Ford.name);
            Ford.SetSpeed(70);
            Ford.Fourbyfour(Ford.fourbyfour);

            Car Honda = new Car("Civic", "TYW349", "Honda", "220HP", "Petrol", 5, 240, 2000, false);
            Honda.Forward(Honda.name);
            Honda.Backward(Honda.name);
            Honda.SetSpeed(150);
            Honda.Fourbyfour(Honda.fourbyfour);

            Car RangeRover = new Car("Evoque", "TYW340", "LandRover", "320HP", "Diesel", 5, 240, 4400, true);
            RangeRover.Forward(RangeRover.name);
            RangeRover.Backward(RangeRover.name);
            RangeRover.SetSpeed(80);
            RangeRover.Fourbyfour(RangeRover.fourbyfour);

            Car Lamborghini = new Car("Gallardo", "TYW341", "Lamborghini", "650HP", "Petrol", 2, 340, 5000, false);
            Lamborghini.Forward(Lamborghini.name);
            Lamborghini.Backward(Lamborghini.name);
            Lamborghini.SetSpeed(300);
            Lamborghini.Fourbyfour(Lamborghini.fourbyfour);

        }


    }


    class Car 
    {
        public string name;
        public string regNum;
        public string manufacturer;
        public string power;
        public string type;
        public int seatsNumber;
        public int maximumSpeed;
        public int sizeOfEngine;
        public bool fourbyfour = false;


        public Car(string nameA, string regNumA, string manufacturerA, string powerA, string typeA, int seatsNumberA, int maximumSpeedA, int sizeOfEngineA, bool fourbyfourA)
        {
            name = nameA;
            regNum = regNumA;
            manufacturer = manufacturerA;
            power = powerA;
            type = typeA;
            seatsNumber = seatsNumberA;
            maximumSpeed = maximumSpeedA;
            sizeOfEngine = sizeOfEngineA;
            fourbyfour = fourbyfourA;

        }


        public void Forward(string name)
        {

            Console.WriteLine(name + " Is moving forward ");
        }

        public void Backward(string name)
        {
            Console.WriteLine(name + " Is moving backward");
        }

        public void SetSpeed(int newSpeed)
        {
            Console.WriteLine("The new speed is now set on " + newSpeed);
        }

        public void Fourbyfour(bool fourbyfour)
        {
            if (fourbyfour == true)
            {
                Console.WriteLine("This car has 4*4");
            }
            else
            {
                Console.WriteLine("This car has not 4*4 ");
            }

        }

    }


    


}
